/**** keydefs.c ****************************/
/* M. Moller   2013-01-16                  */
/*   Universal RPi GPIO keyboard daemon    */
/*******************************************/

/*
   Copyright (C) 2013 Michael Moller.
   This file is part of the Universal Raspberry Pi GPIO keyboard daemon.

   This is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The software is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.
*/

#include "keydefs.h"

const key_names_s key_names[] = {
/*
  a subset of
  sed 's/^#define \([^ \t]\+\)[ \t]*\([^\ \t]\+\)/  { \"\1\",\t\2 },/' /usr/include/linux/input.h
 */
  { "KEY_RESERVED",	0 },
  { "KEY_ESC",	1 },
  { "KEY_1",	2 },
  { "KEY_2",	3 },
  { "KEY_3",	4 },
  { "KEY_4",	5 },
  { "KEY_5",	6 },
  { "KEY_6",	7 },
  { "KEY_7",	8 },
  { "KEY_8",	9 },
  { "KEY_9",	10 },
  { "KEY_0",	11 },
  { "KEY_MINUS",	12 },
  { "KEY_EQUAL",	13 },
  { "KEY_BACKSPACE",	14 },
  { "KEY_TAB",	15 },
  { "KEY_Q",	16 },
  { "KEY_W",	17 },
  { "KEY_E",	18 },
  { "KEY_R",	19 },
  { "KEY_T",	20 },
  { "KEY_Y",	21 },
  { "KEY_U",	22 },
  { "KEY_I",	23 },
  { "KEY_O",	24 },
  { "KEY_P",	25 },
  { "KEY_LEFTBRACE",	26 },
  { "KEY_RIGHTBRACE",	27 },
  { "KEY_ENTER",	28 },
  { "KEY_LEFTCTRL",	29 },
  { "KEY_A",	30 },
  { "KEY_S",	31 },
  { "KEY_D",	32 },
  { "KEY_F",	33 },
  { "KEY_G",	34 },
  { "KEY_H",	35 },
  { "KEY_J",	36 },
  { "KEY_K",	37 },
  { "KEY_L",	38 },
  { "KEY_SEMICOLON",	39 },
  { "KEY_APOSTROPHE",	40 },
  { "KEY_GRAVE",	41 },
  { "KEY_LEFTSHIFT",	42 },
  { "KEY_BACKSLASH",	43 },
  { "KEY_Z",	44 },
  { "KEY_X",	45 },
  { "KEY_C",	46 },
  { "KEY_V",	47 },
  { "KEY_B",	48 },
  { "KEY_N",	49 },
  { "KEY_M",	50 },
  { "KEY_COMMA",	51 },
  { "KEY_DOT",	52 },
  { "KEY_SLASH",	53 },
  { "KEY_RIGHTSHIFT",	54 },
  { "KEY_KPASTERISK",	55 },
  { "KEY_LEFTALT",	56 },
  { "KEY_SPACE",	57 },
  { "KEY_CAPSLOCK",	58 },
  { "KEY_F1",	59 },
  { "KEY_F2",	60 },
  { "KEY_F3",	61 },
  { "KEY_F4",	62 },
  { "KEY_F5",	63 },
  { "KEY_F6",	64 },
  { "KEY_F7",	65 },
  { "KEY_F8",	66 },
  { "KEY_F9",	67 },
  { "KEY_F10",	68 },
  { "KEY_NUMLOCK",	69 },
  { "KEY_SCROLLLOCK",	70 },
  { "KEY_KP7",	71 },
  { "KEY_KP8",	72 },
  { "KEY_KP9",	73 },
  { "KEY_KPMINUS",	74 },
  { "KEY_KP4",	75 },
  { "KEY_KP5",	76 },
  { "KEY_KP6",	77 },
  { "KEY_KPPLUS",	78 },
  { "KEY_KP1",	79 },
  { "KEY_KP2",	80 },
  { "KEY_KP3",	81 },
  { "KEY_KP0",	82 },
  { "KEY_KPDOT",	83 },

  { "KEY_ZENKAKUHANKAKU",	85 },
  { "KEY_102ND",	86 },
  { "KEY_F11",	87 },
  { "KEY_F12",	88 },
  { "KEY_RO",	89 },
  { "KEY_KATAKANA",	90 },
  { "KEY_HIRAGANA",	91 },
  { "KEY_HENKAN",	92 },
  { "KEY_KATAKANAHIRAGANA",	93 },
  { "KEY_MUHENKAN",	94 },
  { "KEY_KPJPCOMMA",	95 },
  { "KEY_KPENTER",	96 },
  { "KEY_RIGHTCTRL",	97 },
  { "KEY_KPSLASH",	98 },
  { "KEY_SYSRQ",	99 },
  { "KEY_RIGHTALT",	100 },
  { "KEY_LINEFEED",	101 },
  { "KEY_HOME",	102 },
  { "KEY_UP",	103 },
  { "KEY_PAGEUP",	104 },
  { "KEY_LEFT",	105 },
  { "KEY_RIGHT",	106 },
  { "KEY_END",	107 },
  { "KEY_DOWN",	108 },
  { "KEY_PAGEDOWN",	109 },
  { "KEY_INSERT",	110 },
  { "KEY_DELETE",	111 },
  { "KEY_MACRO",	112 },
  { "KEY_MUTE",	113 },
  { "KEY_VOLUMEDOWN",	114 },
  { "KEY_VOLUMEUP",	115 },
  { "KEY_POWER",	116 },	/* SC System Power Down */
  { "KEY_KPEQUAL",	117 },
  { "KEY_KPPLUSMINUS",	118 },
  { "KEY_PAUSE",	119 },
  { "KEY_SCALE",	120 },	/* AL Compiz Scale (Expose) */

  { "KEY_KPCOMMA",	121 },
  { "KEY_HANGEUL",	122 },
  { "KEY_HANGUEL",	122 /*KEY_HANGEUL*/ },
  { "KEY_HANJA",	123 },
  { "KEY_YEN",	124 },
  { "KEY_LEFTMETA",	125 },
  { "KEY_RIGHTMETA",	126 },
  { "KEY_COMPOSE",	127 },

  { "KEY_STOP",	128 },	/* AC Stop */
  { "KEY_AGAIN",	129 },
  { "KEY_PROPS",	130 },	/* AC Properties */
  { "KEY_UNDO",	131 },	/* AC Undo */
  { "KEY_FRONT",	132 },
  { "KEY_COPY",	133 },	/* AC Copy */
  { "KEY_OPEN",	134 },	/* AC Open */
  { "KEY_PASTE",	135 },	/* AC Paste */
  { "KEY_FIND",	136 },	/* AC Search */
  { "KEY_CUT",	137 },	/* AC Cut */
  { "KEY_HELP",	138 },	/* AL Integrated Help Center */
  { "KEY_MENU",	139 },	/* Menu (show menu) */
  { "KEY_CALC",	140 },	/* AL Calculator */
  { "KEY_SETUP",	141 },
  { "KEY_SLEEP",	142 },	/* SC System Sleep */
  { "KEY_WAKEUP",	143 },	/* System Wake Up */
  { "KEY_FILE",	144 },	/* AL Local Machine Browser */
  { "KEY_SENDFILE",	145 },
  { "KEY_DELETEFILE",	146 },
  { "KEY_XFER",	147 },
  { "KEY_PROG1",	148 },
  { "KEY_PROG2",	149 },
  { "KEY_WWW",	150 },	/* AL Internet Browser */
  { "KEY_MSDOS",	151 },
  { "KEY_COFFEE",	152 },	/* AL Terminal Lock/Screensaver */
  { "KEY_SCREENLOCK",	152 /*KEY_COFFEE*/ },
  { "KEY_DIRECTION",	153 },
  { "KEY_CYCLEWINDOWS",	154 },
  { "KEY_MAIL",	155 },
  { "KEY_BOOKMARKS",	156 },	/* AC Bookmarks */
  { "KEY_COMPUTER",	157 },
  { "KEY_BACK",	158 },	/* AC Back */
  { "KEY_FORWARD",	159 },	/* AC Forward */
  { "KEY_CLOSECD",	160 },
  { "KEY_EJECTCD",	161 },
  { "KEY_EJECTCLOSECD",	162 },
  { "KEY_NEXTSONG",	163 },
  { "KEY_PLAYPAUSE",	164 },
  { "KEY_PREVIOUSSONG",	165 },
  { "KEY_STOPCD",	166 },
  { "KEY_RECORD",	167 },
  { "KEY_REWIND",	168 },
  { "KEY_PHONE",	169 },	/* Media Select Telephone */
  { "KEY_ISO",	170 },
  { "KEY_CONFIG",	171 },	/* AL Consumer Control Configuration */
  { "KEY_HOMEPAGE",	172 },	/* AC Home */
  { "KEY_REFRESH",	173 },	/* AC Refresh */
  { "KEY_EXIT",	174 },	/* AC Exit */
  { "KEY_MOVE",	175 },
  { "KEY_EDIT",	176 },
  { "KEY_SCROLLUP",	177 },
  { "KEY_SCROLLDOWN",	178 },
  { "KEY_KPLEFTPAREN",	179 },
  { "KEY_KPRIGHTPAREN",	180 },
  { "KEY_NEW",	181 },	/* AC New */
  { "KEY_REDO",	182 },	/* AC Redo/Repeat */

  { "KEY_F13",	183 },
  { "KEY_F14",	184 },
  { "KEY_F15",	185 },
  { "KEY_F16",	186 },
  { "KEY_F17",	187 },
  { "KEY_F18",	188 },
  { "KEY_F19",	189 },
  { "KEY_F20",	190 },
  { "KEY_F21",	191 },
  { "KEY_F22",	192 },
  { "KEY_F23",	193 },
  { "KEY_F24",	194 },

  { "KEY_PLAYCD",	200 },
  { "KEY_PAUSECD",	201 },
  { "KEY_PROG3",	202 },
  { "KEY_PROG4",	203 },
  { "KEY_DASHBOARD",	204 },	/* AL Dashboard */
  { "KEY_SUSPEND",	205 },
  { "KEY_CLOSE",	206 },	/* AC Close */
  { "KEY_PLAY",	207 },
  { "KEY_FASTFORWARD",	208 },
  { "KEY_BASSBOOST",	209 },
  { "KEY_PRINT",	210 },	/* AC Print */
  { "KEY_HP",	211 },
  { "KEY_CAMERA",	212 },
  { "KEY_SOUND",	213 },
  { "KEY_QUESTION",	214 },
  { "KEY_EMAIL",	215 },
  { "KEY_CHAT",	216 },
  { "KEY_SEARCH",	217 },
  { "KEY_CONNECT",	218 },
  { "KEY_FINANCE",	219 },	/* AL Checkbook/Finance */
  { "KEY_SPORT",	220 },
  { "KEY_SHOP",	221 },
  { "KEY_ALTERASE",	222 },
  { "KEY_CANCEL",	223 },	/* AC Cancel */
  { "KEY_BRIGHTNESSDOWN",	224 },
  { "KEY_BRIGHTNESSUP",	225 },
  { "KEY_MEDIA",	226 },

  { "KEY_SWITCHVIDEOMODE",	227 },	/* Cycle between available video
					   outputs (Monitor/LCD/TV-out/etc) */
  { "KEY_KBDILLUMTOGGLE",	228 },
  { "KEY_KBDILLUMDOWN",	229 },
  { "KEY_KBDILLUMUP",	230 },

  { "KEY_SEND",	231 },	/* AC Send */
  { "KEY_REPLY",	232 },	/* AC Reply */
  { "KEY_FORWARDMAIL",	233 },	/* AC Forward Msg */
  { "KEY_SAVE",	234 },	/* AC Save */
  { "KEY_DOCUMENTS",	235 },

  { "KEY_BATTERY",	236 },

  { "KEY_BLUETOOTH",	237 },
  { "KEY_WLAN",	238 },
  { "KEY_UWB",	239 },

  { "KEY_UNKNOWN",	240 },

  { "KEY_VIDEO_NEXT",	241 },	/* drive next video source */
  { "KEY_VIDEO_PREV",	242 },	/* drive previous video source */
  { "KEY_BRIGHTNESS_CYCLE",	243 },	/* brightness up, after max is min */
  { "KEY_BRIGHTNESS_ZERO",	244 },	/* brightness off, use ambient */
  { "KEY_DISPLAY_OFF",	245 },	/* display device to off state */

  { "KEY_WIMAX",	246 },
  { "KEY_RFKILL",	247 },	/* Key that controls all radios */

  { "KEY_MICMUTE",	248 },	/* Mute / unmute the microphone */

/* Code 255 is reserved for special needs of AT keyboard driver */

  { "BTN_MISC",	0x100 },
  { "BTN_0",	0x100 },
  { "BTN_1",	0x101 },
  { "BTN_2",	0x102 },
  { "BTN_3",	0x103 },
  { "BTN_4",	0x104 },
  { "BTN_5",	0x105 },
  { "BTN_6",	0x106 },
  { "BTN_7",	0x107 },
  { "BTN_8",	0x108 },
  { "BTN_9",	0x109 },

  { "BTN_MOUSE",	0x110 },
  { "BTN_LEFT",	0x110 },
  { "BTN_RIGHT",	0x111 },
  { "BTN_MIDDLE",	0x112 },
  { "BTN_SIDE",	0x113 },
  { "BTN_EXTRA",	0x114 },
  { "BTN_FORWARD",	0x115 },
  { "BTN_BACK",	0x116 },
  { "BTN_TASK",	0x117 },

  { "BTN_JOYSTICK",	0x120 },
  { "BTN_TRIGGER",	0x120 },
  { "BTN_THUMB",	0x121 },
  { "BTN_THUMB2",	0x122 },
  { "BTN_TOP",	0x123 },
  { "BTN_TOP2",	0x124 },
  { "BTN_PINKIE",	0x125 },
  { "BTN_BASE",	0x126 },
  { "BTN_BASE2",	0x127 },
  { "BTN_BASE3",	0x128 },
  { "BTN_BASE4",	0x129 },
  { "BTN_BASE5",	0x12a },
  { "BTN_BASE6",	0x12b },
  { "BTN_DEAD",	0x12f },

  { "BTN_GAMEPAD",	0x130 },
  { "BTN_A",	0x130 },
  { "BTN_B",	0x131 },
  { "BTN_C",	0x132 },
  { "BTN_X",	0x133 },
  { "BTN_Y",	0x134 },
  { "BTN_Z",	0x135 },
  { "BTN_TL",	0x136 },
  { "BTN_TR",	0x137 },
  { "BTN_TL2",	0x138 },
  { "BTN_TR2",	0x139 },
  { "BTN_SELECT",	0x13a },
  { "BTN_START",	0x13b },
  { "BTN_MODE",	0x13c },
  { "BTN_THUMBL",	0x13d },
  { "BTN_THUMBR",	0x13e },

#if 0

  { "BTN_DIGI",	0x140 },
  { "BTN_TOOL_PEN",	0x140 },
  { "BTN_TOOL_RUBBER",	0x141 },
  { "BTN_TOOL_BRUSH",	0x142 },
  { "BTN_TOOL_PENCIL",	0x143 },
  { "BTN_TOOL_AIRBRUSH",	0x144 },
  { "BTN_TOOL_FINGER",	0x145 },
  { "BTN_TOOL_MOUSE",	0x146 },
  { "BTN_TOOL_LENS",	0x147 },
  { "BTN_TOOL_QUINTTAP",	0x148 },	/* Five fingers on trackpad */
  { "BTN_TOUCH",	0x14a },
  { "BTN_STYLUS",	0x14b },
  { "BTN_STYLUS2",	0x14c },
  { "BTN_TOOL_DOUBLETAP",	0x14d },
  { "BTN_TOOL_TRIPLETAP",	0x14e },
  { "BTN_TOOL_QUADTAP",	0x14f },	/* Four fingers on trackpad */

  { "BTN_WHEEL",	0x150 },
  { "BTN_GEAR_DOWN",	0x150 },
  { "BTN_GEAR_UP",	0x151 },

  { "KEY_OK",	0x160 },
  { "KEY_SELECT",	0x161 },
  { "KEY_GOTO",	0x162 },
  { "KEY_CLEAR",	0x163 },
  { "KEY_POWER2",	0x164 },
  { "KEY_OPTION",	0x165 },
  { "KEY_INFO",	0x166 },	/* AL OEM Features/Tips/Tutorial */
  { "KEY_TIME",	0x167 },
  { "KEY_VENDOR",	0x168 },
  { "KEY_ARCHIVE",	0x169 },
  { "KEY_PROGRAM",	0x16a },	/* Media Select Program Guide */
  { "KEY_CHANNEL",	0x16b },
  { "KEY_FAVORITES",	0x16c },
  { "KEY_EPG",	0x16d },
  { "KEY_PVR",	0x16e },	/* Media Select Home */
  { "KEY_MHP",	0x16f },
  { "KEY_LANGUAGE",	0x170 },
  { "KEY_TITLE",	0x171 },
  { "KEY_SUBTITLE",	0x172 },
  { "KEY_ANGLE",	0x173 },
  { "KEY_ZOOM",	0x174 },
  { "KEY_MODE",	0x175 },
  { "KEY_KEYBOARD",	0x176 },
  { "KEY_SCREEN",	0x177 },
  { "KEY_PC",	0x178 },	/* Media Select Computer */
  { "KEY_TV",	0x179 },	/* Media Select TV */
  { "KEY_TV2",	0x17a },	/* Media Select Cable */
  { "KEY_VCR",	0x17b },	/* Media Select VCR */
  { "KEY_VCR2",	0x17c },	/* VCR Plus */
  { "KEY_SAT",	0x17d },	/* Media Select Satellite */
  { "KEY_SAT2",	0x17e },
  { "KEY_CD",	0x17f },	/* Media Select CD */
  { "KEY_TAPE",	0x180 },	/* Media Select Tape */
  { "KEY_RADIO",	0x181 },
  { "KEY_TUNER",	0x182 },	/* Media Select Tuner */
  { "KEY_PLAYER",	0x183 },
  { "KEY_TEXT",	0x184 },
  { "KEY_DVD",	0x185 },	/* Media Select DVD */
  { "KEY_AUX",	0x186 },
  { "KEY_MP3",	0x187 },
  { "KEY_AUDIO",	0x188 },	/* AL Audio Browser */
  { "KEY_VIDEO",	0x189 },	/* AL Movie Browser */
  { "KEY_DIRECTORY",	0x18a },
  { "KEY_LIST",	0x18b },
  { "KEY_MEMO",	0x18c },	/* Media Select Messages */
  { "KEY_CALENDAR",	0x18d },
  { "KEY_RED",	0x18e },
  { "KEY_GREEN",	0x18f },
  { "KEY_YELLOW",	0x190 },
  { "KEY_BLUE",	0x191 },
  { "KEY_CHANNELUP",	0x192 },	/* Channel Increment */
  { "KEY_CHANNELDOWN",	0x193 },	/* Channel Decrement */
  { "KEY_FIRST",	0x194 },
  { "KEY_LAST",	0x195 },	/* Recall Last */
  { "KEY_AB",	0x196 },
  { "KEY_NEXT",	0x197 },
  { "KEY_RESTART",	0x198 },
  { "KEY_SLOW",	0x199 },
  { "KEY_SHUFFLE",	0x19a },
  { "KEY_BREAK",	0x19b },
  { "KEY_PREVIOUS",	0x19c },
  { "KEY_DIGITS",	0x19d },
  { "KEY_TEEN",	0x19e },
  { "KEY_TWEN",	0x19f },
  { "KEY_VIDEOPHONE",	0x1a0 },	/* Media Select Video Phone */
  { "KEY_GAMES",	0x1a1 },	/* Media Select Games */
  { "KEY_ZOOMIN",	0x1a2 },	/* AC Zoom In */
  { "KEY_ZOOMOUT",	0x1a3 },	/* AC Zoom Out */
  { "KEY_ZOOMRESET",	0x1a4 },	/* AC Zoom */
  { "KEY_WORDPROCESSOR",	0x1a5 },	/* AL Word Processor */
  { "KEY_EDITOR",	0x1a6 },	/* AL Text Editor */
  { "KEY_SPREADSHEET",	0x1a7 },	/* AL Spreadsheet */
  { "KEY_GRAPHICSEDITOR",	0x1a8 },	/* AL Graphics Editor */
  { "KEY_PRESENTATION",	0x1a9 },	/* AL Presentation App */
  { "KEY_DATABASE",	0x1aa },	/* AL Database App */
  { "KEY_NEWS",	0x1ab },	/* AL Newsreader */
  { "KEY_VOICEMAIL",	0x1ac },	/* AL Voicemail */
  { "KEY_ADDRESSBOOK",	0x1ad },	/* AL Contacts/Address Book */
  { "KEY_MESSENGER",	0x1ae },	/* AL Instant Messaging */
  { "KEY_DISPLAYTOGGLE",	0x1af },	/* Turn display (LCD) on and off */
  { "KEY_SPELLCHECK",	0x1b0 },   /* AL Spell Check */
  { "KEY_LOGOFF",	0x1b1 },   /* AL Logoff */

  { "KEY_DOLLAR",	0x1b2 },
  { "KEY_EURO",	0x1b3 },

  { "KEY_FRAMEBACK",	0x1b4 },	/* Consumer - transport controls */
  { "KEY_FRAMEFORWARD",	0x1b5 },
  { "KEY_CONTEXT_MENU",	0x1b6 },	/* GenDesc - system context menu */
  { "KEY_MEDIA_REPEAT",	0x1b7 },	/* Consumer - transport control */
  { "KEY_10CHANNELSUP",	0x1b8 },	/* 10 channels up (10+) */
  { "KEY_10CHANNELSDOWN",	0x1b9 },	/* 10 channels down (10-) */
  { "KEY_IMAGES",	0x1ba },	/* AL Image Browser */

  { "KEY_DEL_EOL",	0x1c0 },
  { "KEY_DEL_EOS",	0x1c1 },
  { "KEY_INS_LINE",	0x1c2 },
  { "KEY_DEL_LINE",	0x1c3 },

  { "KEY_FN",	0x1d0 },
  { "KEY_FN_ESC",	0x1d1 },
  { "KEY_FN_F1",	0x1d2 },
  { "KEY_FN_F2",	0x1d3 },
  { "KEY_FN_F3",	0x1d4 },
  { "KEY_FN_F4",	0x1d5 },
  { "KEY_FN_F5",	0x1d6 },
  { "KEY_FN_F6",	0x1d7 },
  { "KEY_FN_F7",	0x1d8 },
  { "KEY_FN_F8",	0x1d9 },
  { "KEY_FN_F9",	0x1da },
  { "KEY_FN_F10",	0x1db },
  { "KEY_FN_F11",	0x1dc },
  { "KEY_FN_F12",	0x1dd },
  { "KEY_FN_1",	0x1de },
  { "KEY_FN_2",	0x1df },
  { "KEY_FN_D",	0x1e0 },
  { "KEY_FN_E",	0x1e1 },
  { "KEY_FN_F",	0x1e2 },
  { "KEY_FN_S",	0x1e3 },
  { "KEY_FN_B",	0x1e4 },

  { "KEY_BRL_DOT1",	0x1f1 },
  { "KEY_BRL_DOT2",	0x1f2 },
  { "KEY_BRL_DOT3",	0x1f3 },
  { "KEY_BRL_DOT4",	0x1f4 },
  { "KEY_BRL_DOT5",	0x1f5 },
  { "KEY_BRL_DOT6",	0x1f6 },
  { "KEY_BRL_DOT7",	0x1f7 },
  { "KEY_BRL_DOT8",	0x1f8 },
  { "KEY_BRL_DOT9",	0x1f9 },
  { "KEY_BRL_DOT10",	0x1fa },

  { "KEY_NUMERIC_0",	0x200 },	/* used by phones, remote controls, */
  { "KEY_NUMERIC_1",	0x201 },	/* and other keypads */
  { "KEY_NUMERIC_2",	0x202 },
  { "KEY_NUMERIC_3",	0x203 },
  { "KEY_NUMERIC_4",	0x204 },
  { "KEY_NUMERIC_5",	0x205 },
  { "KEY_NUMERIC_6",	0x206 },
  { "KEY_NUMERIC_7",	0x207 },
  { "KEY_NUMERIC_8",	0x208 },
  { "KEY_NUMERIC_9",	0x209 },
  { "KEY_NUMERIC_STAR",	0x20a },
  { "KEY_NUMERIC_POUND",	0x20b },

  { "KEY_CAMERA_FOCUS",	0x210 },
  { "KEY_WPS_BUTTON",	0x211 },	/* WiFi Protected Setup key */

  { "KEY_TOUCHPAD_TOGGLE",	0x212 },	/* Request switch touchpad on or off */
  { "KEY_TOUCHPAD_ON",	0x213 },
  { "KEY_TOUCHPAD_OFF",	0x214 },

  { "KEY_CAMERA_ZOOMIN",	0x215 },
  { "KEY_CAMERA_ZOOMOUT",	0x216 },
  { "KEY_CAMERA_UP",	0x217 },
  { "KEY_CAMERA_DOWN",	0x218 },
  { "KEY_CAMERA_LEFT",	0x219 },
  { "KEY_CAMERA_RIGHT",	0x21a },

  { "BTN_TRIGGER_HAPPY",	0x2c0 },
  { "BTN_TRIGGER_HAPPY1",	0x2c0 },
  { "BTN_TRIGGER_HAPPY2",	0x2c1 },
  { "BTN_TRIGGER_HAPPY3",	0x2c2 },
  { "BTN_TRIGGER_HAPPY4",	0x2c3 },
  { "BTN_TRIGGER_HAPPY5",	0x2c4 },
  { "BTN_TRIGGER_HAPPY6",	0x2c5 },
  { "BTN_TRIGGER_HAPPY7",	0x2c6 },
  { "BTN_TRIGGER_HAPPY8",	0x2c7 },
  { "BTN_TRIGGER_HAPPY9",	0x2c8 },
  { "BTN_TRIGGER_HAPPY10",	0x2c9 },
  { "BTN_TRIGGER_HAPPY11",	0x2ca },
  { "BTN_TRIGGER_HAPPY12",	0x2cb },
  { "BTN_TRIGGER_HAPPY13",	0x2cc },
  { "BTN_TRIGGER_HAPPY14",	0x2cd },
  { "BTN_TRIGGER_HAPPY15",	0x2ce },
  { "BTN_TRIGGER_HAPPY16",	0x2cf },
  { "BTN_TRIGGER_HAPPY17",	0x2d0 },
  { "BTN_TRIGGER_HAPPY18",	0x2d1 },
  { "BTN_TRIGGER_HAPPY19",	0x2d2 },
  { "BTN_TRIGGER_HAPPY20",	0x2d3 },
  { "BTN_TRIGGER_HAPPY21",	0x2d4 },
  { "BTN_TRIGGER_HAPPY22",	0x2d5 },
  { "BTN_TRIGGER_HAPPY23",	0x2d6 },
  { "BTN_TRIGGER_HAPPY24",	0x2d7 },
  { "BTN_TRIGGER_HAPPY25",	0x2d8 },
  { "BTN_TRIGGER_HAPPY26",	0x2d9 },
  { "BTN_TRIGGER_HAPPY27",	0x2da },
  { "BTN_TRIGGER_HAPPY28",	0x2db },
  { "BTN_TRIGGER_HAPPY29",	0x2dc },
  { "BTN_TRIGGER_HAPPY30",	0x2dd },
  { "BTN_TRIGGER_HAPPY31",	0x2de },
  { "BTN_TRIGGER_HAPPY32",	0x2df },
  { "BTN_TRIGGER_HAPPY33",	0x2e0 },
  { "BTN_TRIGGER_HAPPY34",	0x2e1 },
  { "BTN_TRIGGER_HAPPY35",	0x2e2 },
  { "BTN_TRIGGER_HAPPY36",	0x2e3 },
  { "BTN_TRIGGER_HAPPY37",	0x2e4 },
  { "BTN_TRIGGER_HAPPY38",	0x2e5 },
  { "BTN_TRIGGER_HAPPY39",	0x2e6 },
  { "BTN_TRIGGER_HAPPY40",	0x2e7 },
#endif

  { "LAST", -1 },
};
